#ifndef JOUEUR_H
#define JOUEUR_H

#include "carte.h"

/**
    @brief joueur.h permet de savoir qui est le joueur qui doit jouer, qui remporte le pli, et quel est la première carte qui doit être jouer
*/

typedef struct {
        Carte main[8];
        int nb_cartes;
        int point;
        int position;
        bool humain;
}Joueur;



void joInit(Joueur* jo,int position);

/**
    @brief Permet de savoir quel carte poser en premier
    @param [in] jo
    @return carte
*/
Carte joPose_Premiere_Carte(Joueur *premier_joueur,int indice);

/**
    @brief Permet de savoir le joueur qui doit jouer
    @param [in] joueur_precedent
    @return joueur
*/
Joueur joJoueur_Suivant(Joueur* tab_joueur,int position_actu);

/**
    @brief Permet de savoir quel carte poser en premier
    @param [in,out] tab_carte_table
    @param [in] joueur_actu
    @return carte
*/
Carte joPose_Carte_Suivante(Joueur *joueur_actu, Carte* tab_carte_table,int indice,int position);

/**
    @brief Permet de savoir quel carte poser en premier
    @param [in,out] pli
    @return none
*/
int joRemoporte_pli(Carte* pli, int position);

/**
    @brief Permet de savoir quel carte poser en premier
    @param [in,out] pli
    @return int
*/
int joPoint_pli(Carte *pli);

/**
    @brief Permet d'ajouter les points des plis au score total
    @param [in,out] vainqueur
    @param [in] pli[4]
    @return none
*/
void joAjoutePoint(Joueur* vainqueur,Carte pli[4]);
#endif
